package com.lijiajia.cloud.authserver.security.oauth.user;

import org.springframework.core.convert.converter.Converter;
import org.springframework.security.oauth2.core.oidc.OidcUserInfo;

import java.util.Map;

/**
 * oauth2 用户信息 转换器
 *
 * @author lijiajia
 * @since 2019-05-22
 */
public interface UserInfoConverter extends Converter<Map<String, Object>, OidcUserInfo> {
    /**
     * 用户信息转换
     * OidcUserInfo 这是根据 UserInfoEndpoint中Url 解析出的用户信息
     * 只是为了更好的展示,这并不是实现了oidc标准
     *
     * @param userAttributes 用户信息
     * @return 用户信息
     */
    OidcUserInfo convert(Map<String, Object> userAttributes);
}
